Docker中查看镜像信息,查找镜像及运用。

您所在的位置:网站首页 docker 修改镜像tag Docker中查看镜像信息,查找镜像及运用。

Docker中查看镜像信息,查找镜像及运用。

2023-04-07 23:48| 来源: 网络整理| 查看: 265

一、查看镜像信息

查看镜像的命令通常有:images、taginspect子命令。

1.使用images命令列出本地镜像

使用docker images 命令可以列出本地主机上已有镜像的基本信息。

REPOSITORY:表示来自于哪个仓库。TAG:表示镜像的标签信息,标签只是标记,并不能标识镜像内容。IMAGE ID:镜像ID,镜像的唯一标识,如果两个镜像ID相同,则说明它们实际上指向了同一个镜像,只是具有不同标签名而已。CREATED:表示镜像最后的更新时间。VIRTUAL SIZE:表示镜像大小,好的镜像往往体积会较小。

2.使用tag命令为镜像添加标签

为了方便在后续工作中使用特定镜像,还可以使用docker tag命令为本地镜像任意添加新的标签。

其中test_redis和redis镜像的ID号是相同的,其实对应的是同一个镜像,只是使用不同的标签而已。

3.使用inspect命令查看镜像详细信息

使用inspect命令可以获取镜像的详细信息,包括制作者、适应架构、各层的数字摘要等。

命令的语法如下:

docker inspect 镜像名 [root@localhost ~]# docker inspect redis [{ "Id": "a6edd7a55846043cdc25121900dee5f244334c08ddcfd9995bed9708395dac3a", "Parent": "5b5acb53ad733373bc3d6bbb1169d84892c42cd871c16041b9fe38126dd2d658", "Comment": "", "Created": "2021-08-17T14:30:06.550779326Z", "Container": "fa59f1c2817c9095f8f7272a4ab9b11db0332b33efb3a82c00a3d1fec8763684", "ContainerConfig": { "Hostname": "fa59f1c2817c", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "PortSpecs": null, "ExposedPorts": { "6379/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.12", "REDIS_VERSION=6.2.5", "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis- 6.2.5.tar.gz", "REDIS_DOWNLOAD_SHA=4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d5 51ae" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"redis-server\"]" ], "Image": "sha256:befbd3fc62bffcd0115008969a014faaad07828b2c54b4bcfd2d9fc3aa2508cd", "Volumes": { "/data": {} }, "VolumeDriver": "", "WorkingDir": "/data", "Entrypoint": [ "docker-entrypoint.sh" ], "NetworkDisabled": false, "MacAddress": "", "OnBuild": null, "Labels": {} }, "DockerVersion": "20.10.7", "Author": "", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "PortSpecs": null, "ExposedPorts": { "6379/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.12", "REDIS_VERSION=6.2.5", "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis- 6.2.5.tar.gz", "REDIS_DOWNLOAD_SHA=4b9a75709a1b74b3785e20a6c158cab94cf52298aa381eea947a678a60d5 51ae" ], "Cmd": [ "redis-server" ], "Image": "sha256:befbd3fc62bffcd0115008969a014faaad07828b2c54b4bcfd2d9fc3aa2508cd", "Volumes": { "/data": {} }, "VolumeDriver": "", "WorkingDir": "/data", "Entrypoint": [ "docker-entrypoint.sh" ], "NetworkDisabled": false, "MacAddress": "", "OnBuild": null, "Labels": null }, "Architecture": "amd64", "Os": "linux", "Size": 0, "VirtualSize": 105389901 } ]

上面返回的是一个JSON格式的消息,如果只要其中某一项的内容时,可以使用-f来指定,语法格式如下:

docker insepect -f {{".项名"}} 镜像名 [root@localhost ~]# docker inspect -f {{".Id"}} redis a6edd7a55846043cdc25121900dee5f244334c08ddcfd9995bed9708395dac3a

4.使用history命令查看镜像历史

既然镜像文件由多个层组成,那么怎么才知道各层的内容具体是什么呢?这时候可以使用history子命令,该命令将列出各层的创建信息。

过长的命令被自动截断了,可以使用前面提到的--no-trunc 选项来输出完整命令。

二、查找镜像

使用docker search 命令可以搜索Docker Hub 官方仓库中的镜像。语法为:

docker search [option] keyword [root@localhost ~]# docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store th... 9921 [OK] sameersbn/redis 83 [OK] grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0, 6.279 rediscommander/redis-commander Alpine image for redis-commander - Redis m... 65 [OK] redislabs/redisearch Redis With the RedisSearch module pre-load... 38 redislabs/redisinsight RedisInsight - The GUI for Redis 35 redislabs/redis Clustered in-memory database engine compat... 31 oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Su... 29 redislabs/rejson RedisJSON - Enhanced JSON data type proces... 27 arm32v7/redis Redis is an open source key-value store th... 24 redislabs/redisgraph A graph database module for Redis 16 [OK] redislabs/redismod An automated build of redismod - latest Re... 15 [OK] arm64v8/redis Redis is an open source key-value store th... 15 redislabs/rebloom A probablistic datatypes module for Redis 14 [OK] webhippie/redis Docker images for Redis 11 [OK] s7anley/redis-sentinel-docker Redis Sentinel 10 [OK] redislabs/redistimeseries A time series database module for Redis 10 insready/redis-stat Docker image for the real-time Redis monit... 10 [OK] goodsmileduck/redis-cli redis-cli on alpine 9 [OK] centos/redis-32-centos7 Redis in-memory data structure store, used... 5 clearlinux/redis Redis key-value data structure server with... 3 wodby/redis Redis container image with orchestration 1 [OK] tiredofit/redis Redis Server w/ Zabbix monitoring and S6 O... 1 [OK] runnable/redis-stunnel stunnel to redis provided by linking conta... 1 [OK]xetamus/redis-resource forked redis-resource 0 [OK]

OFFICIAL:表示是官方认证的镜像

STARS:表示获得的点赞扬数

三、删除和清理镜像

1.使用标签删除镜像

使用docker rmi或docker image rm命令可以删除镜像,命令格式为:

2.使用镜像ID删除镜像

使用镜像ID删除时,会先删除所有指向该镜像的标签,再删除该镜像文件本身。

以上面的centos镜像为例,使用镜像ID的方式来删除镜像。

四、使用commit命令创建镜像

通常创建Docker镜像有两种方法,一是使用commit命令创建;二是使用dockerfile来文件来创建。这一小节主要介绍如何使用commit命令来创建。可以将此想象为我们是在往版本控制系统里提交变更,我们先创建一个容器,并在容器里做出修改,就像修改代码一样,最后再将修改提交为一个新境像。

使用commit创建境像的语法如下:

本章节关于“Docker中查看镜像信息,找到镜像及运用”的内容就给大家讲解到这里,希望对做测试工作的小伙伴有帮助~欢迎大家每天和我一起学习更多涨薪技能哦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3